<?php

App::uses('AppController', 'Controller');

/**
 * Laboratoriospacientes Controller
 *
 * @property Laboratoriospaciente $Laboratoriospaciente
 */
class LaboratoriospacientesController extends AppController {

    public $uses = array('Laboratorio', 'Laboratoriospacientes', 'Laboratoriosresultado', 'Laboratoriosparametro', 
        'Laboratoriosrango', 'Paciente', 'Claseslaboratorio', 'Consultasexterna', 'Laboratoriospaciente',
        'Examenespaciente', 'Subclaseslaboratorio', 'Examenespaciente', 'CiedesPaciente', 'User', 'Excomplementario');
    public $layout = 'hospital';

    public function beforeFilter() {
        parent::beforeFilter();
        //$this->Auth->allow();
    }

    public function generaformularioresultados($idexamen = null, $idConsultaExterna = null, $idsubclaselaboratorio = null, $sexo = null) {
        $ficha = $this->Consultasexterna->find('first', array(
            'conditions' => array('Consultasexterna.id' => $idConsultaExterna),
            'fields' => array('Consultasexterna.edad', 'Paciente.nombres', 'Paciente.ap_paterno', 'Paciente.ap_materno', 'Paciente.foto')));

        $laboratorios = $this->Laboratorio->find('all', array(
            'conditions' => array('Laboratorio.subclaseslaboratorio_id' => $idsubclaselaboratorio)));
        $nombre = $laboratorios[0]['Subclaseslaboratorio']['nombre'];

        $this->set(compact('ficha', 'laboratorios', 'idConsultaExterna', 'idsubclaselaboratorio', 'nombre', 'sexo', 'idexamen'));
    }

    public function guardaresultados() {

        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            $idexamen = $this->request->data['Laboratoriosresultado'][0]['examen_id'];
            $idsubclase = $this->request->data['Laboratoriosresultado'][0]['subclaseslaboratorio_id'];
            unset($this->request->data['Laboratoriosresultado'][0]['examen_id']);
            $datos = $this->request->data['Laboratoriosresultado'];
            $idconsulta = $datos[0]['consultasexterna_id'];
            $i = 0;
            foreach ($datos as $dato) {

                $this->Laboratoriosresultado->create();

                if ($dato['tipo'] == 3) {
                    if (!empty($dato['parametro'])):
                        $this->Laboratoriosresultado->save($dato);
                        $id = $this->Laboratoriosresultado->getLastInsertID();

                        $rangos = $this->Laboratoriosrango->find('first', array(
                            'conditions' => array(
                                'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'],
                                'Laboratoriosrango.sexo' => $dato['sexo'])
                        ));

                        if (empty($rangos)) {
                            $rangos = $this->Laboratoriosrango->find('first', array(
                                'conditions' => array(
                                    'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'])
                            ));
                        }
                        
                        if ($rangos['Laboratoriosrango']['rango'] == NULL) {

                            $rangomin = $rangos['Laboratoriosrango']['rangoinicial'];
                            $rangomax = $rangos['Laboratoriosrango']['rangofinal'];


//                            if ($rangomin == 0.00) {
//
//                                if ($dato['parametro'] <= $rangomax) {
//                                    $rango = 'fuera';
//                                } else {
//                                    $rango = 'dentro';
//                                }
//                            } else {
                                /* debug($dato['parametro']);
                                  debug('rango inicial '.$rangos['Laboratoriosrango']['rangoinicial']);
                                  debug('rango final '.$rangos['Laboratoriosrango']['rangofinal']); */

                                if ($dato['parametro'] < $rangos['Laboratoriosrango']['rangoinicial']) {
                                    $rango = 'fuera';
                                } elseif ($dato['parametro'] > $rangos['Laboratoriosrango']['rangofinal']) {
                                    $rango = 'fuera';
                                } else {
                                    //if($resultado['parametro']>= $rangos['Laboratoriosrango']['rangoinicial'] && $resultado['parametro'] <= $rangos['Laboratoriosrango']['rangofinal']) {
                                    $rango = 'dentro';
                                }
                            //}
                        } else {
                            
                            $rangomin = $rangos['Laboratoriosrango']['rangoinicial'];
                            $rangomax = $rangos['Laboratoriosrango']['rangofinal'];
                            if( $rangomin<= $dato['parametro']  && $rangomax >= $dato['parametro'] && $rangos['Laboratoriosrango']['sexo'] == NULL){
                                echo 'entro 1';
                                if ($rangos['Laboratoriosrango']['rango'] == true)
                                    $rango = 'dentro';
                                else
                                    $rango = 'fuera';
                            }else{
                                echo 'entro 2';
                               $rangos = $this->Laboratoriosrango->find('first', array(
                                'conditions' => array(
                                'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'],
                                'Laboratoriosrango.rangoinicial <='=>$dato['parametro'],
                                'Laboratoriosrango.rangofinal >='=>$dato['parametro'],
                                'Laboratoriosrango.sexo' => $dato['sexo'])
                                ));

                                if (empty($rangos)) {
                                    $rangos = $this->Laboratoriosrango->find('first', array(
                                    'conditions' => array(
                                        'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'],
                                        'Laboratoriosrango.rangoinicial <='=>$dato['parametro'],
                                        'Laboratoriosrango.rangofinal >='=>$dato['parametro'],)
                                    ));
                                 } 
                                 if ($rangos['Laboratoriosrango']['rango'] == true)
                                        $rango = 'dentro';
                                    else
                                        $rango = 'fuera';
                            }
                            
                        }
                        
                        
                        $data = array('id' => $id, 'laboratoriosrango_id' => $rangos['Laboratoriosrango']['id'], 'rango' => $rango);
                        
                        $this->Laboratoriosresultado->save($data);
                    endif;
                } else {
                    $guarda = 0;
                    if ($dato['tipo'] == 2) {
                        if (!empty($dato['laboratoriosparametro_id']))
                            $guarda = 1;
                    }elseif ($dato['tipo'] == 1) {
                        if (!empty($dato['observaciones']))
                            $guarda = 1;
                    }

                    if ($guarda == 1)
                        $this->Laboratoriosresultado->save($dato);
                }
                $i++;
            }
            $data = array('id' => $idexamen, 'estado' => 1);
            $this->Examenespaciente->save($data);
            //exit;

            $resultados = $this->Laboratoriosresultado->find('all', array(
                'conditions' => array(
                    'Laboratoriosresultado.consultasexterna_id' => $idconsulta,
                    'Laboratoriosresultado.subclaseslaboratorio_id' => $idsubclase
            )));

            //debug($resultados);exit;
            $edad = $resultados[0]['Consultasexterna']['edad'];
            $idpaciente = $resultados[0]['Consultasexterna']['paciente_id'];

            $ficha = $this->Paciente->find('first', array('conditions' => array('Paciente.id' => $idpaciente)));

            $nombresolicitud = $this->Subclaseslaboratorio->find('first', array('conditions' => array('Subclaseslaboratorio.id' => $resultados[0]['Laboratorio']['subclaseslaboratorio_id'])));
            $nombresolicitud = $nombresolicitud['Claseslaboratorio']['nombre'] . '-' . $nombresolicitud['Subclaseslaboratorio']['nombre'];
            //debug($resultados);exit;
            $idconsulta = $resultados[0]['Laboratoriosresultado']['consultasexterna_id'];
            $this->Session->setFlash('Los resultados fueron registrados', 'bueno');
            $this->set(compact('resultados', 'ficha', 'edad', 'ficha', 'nombresolicitud', 'idconsulta'));
        }
    }

    public function editarresultados($idexamen = null, $idConsultaExterna = null, $idsubclaselaboratorio = null, $sexo = null) {
        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            $idexamen = $this->request->data['Laboratoriosresultado'][0]['examen_id'];
            $idsubclase = $this->request->data['Laboratoriosresultado'][0]['subclaseslaboratorio_id'];
            unset($this->request->data['Laboratoriosresultado'][0]['examen_id']);
            $datos = $this->request->data['Laboratoriosresultado'];
            $idconsulta = $datos[0]['consultasexterna_id'];
            $idclaselaboratorio = $datos[0]['subclaseslaboratorio_id'];
            $this->Laboratoriosresultado->deleteAll(array('Laboratoriosresultado.consultasexterna_id'=>$idconsulta, 'Laboratoriosresultado.subclaseslaboratorio_id'=>$idclaselaboratorio),false);
            $i = 0;
            foreach ($datos as $dato) {
               $this->Laboratoriosresultado->create();
                if ($dato['tipo'] == 3) {               
                    if (!empty($dato['parametro'])):
                        $this->Laboratoriosresultado->save($dato);
                        $id = $this->Laboratoriosresultado->getLastInsertID();

                        $rangos = $this->Laboratoriosrango->find('first', array(
                            'conditions' => array(
                                'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'],
                                'Laboratoriosrango.sexo' => $dato['sexo'])
                        ));

                        if (empty($rangos)) {
                            $rangos = $this->Laboratoriosrango->find('first', array(
                                'conditions' => array(
                                    'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'])
                            ));
                        }
                        
                        if ($rangos['Laboratoriosrango']['rango'] == NULL) {

                            $rangomin = $rangos['Laboratoriosrango']['rangoinicial'];
                            $rangomax = $rangos['Laboratoriosrango']['rangofinal'];


//                            if ($rangomin == 0.00) {
//
//                                if ($dato['parametro'] <= $rangomax) {
//                                    $rango = 'dentro';
//                                } else {
//                                    $rango = 'fuera';
//                                }
//                            } else {
                                /* debug($dato['parametro']);
                                  debug('rango inicial '.$rangos['Laboratoriosrango']['rangoinicial']);
                                  debug('rango final '.$rangos['Laboratoriosrango']['rangofinal']); */

                                if ($dato['parametro'] < $rangos['Laboratoriosrango']['rangoinicial']) {
                                    $rango = 'fuera';
                                } elseif ($dato['parametro'] > $rangos['Laboratoriosrango']['rangofinal']) {
                                    $rango = 'fuera';
                                } else {
                                    //if($resultado['parametro']>= $rangos['Laboratoriosrango']['rangoinicial'] && $resultado['parametro'] <= $rangos['Laboratoriosrango']['rangofinal']) {
                                    $rango = 'dentro';
                                }
                           // }
                        } else {
                            
                            $rangomin = $rangos['Laboratoriosrango']['rangoinicial'];
                            $rangomax = $rangos['Laboratoriosrango']['rangofinal'];
                            if( $rangomin<= $dato['parametro']  && $rangomax >= $dato['parametro'] && $rangos['Laboratoriosrango']['sexo'] == NULL){
                                echo 'entro 1';
                                if ($rangos['Laboratoriosrango']['rango'] == true)
                                    $rango = 'dentro';
                                else
                                    $rango = 'fuera';
                            }else{
                                echo 'entro 2';
                               $rangos = $this->Laboratoriosrango->find('first', array(
                                'conditions' => array(
                                'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'],
                                'Laboratoriosrango.rangoinicial <='=>$dato['parametro'],
                                'Laboratoriosrango.rangofinal >='=>$dato['parametro'],
                                'Laboratoriosrango.sexo' => $dato['sexo'])
                                ));

                                if (empty($rangos)) {
                                    $rangos = $this->Laboratoriosrango->find('first', array(
                                    'conditions' => array(
                                        'Laboratoriosrango.laboratorio_id' => $dato['laboratorio_id'],
                                        'Laboratoriosrango.rangoinicial <='=>$dato['parametro'],
                                        'Laboratoriosrango.rangofinal >='=>$dato['parametro'],)
                                    ));
                                 } 
                                 if ($rangos['Laboratoriosrango']['rango'] == true)
                                        $rango = 'dentro';
                                    else
                                        $rango = 'fuera';
                            }
                            
                        }
                        
                        
                        $data = array('id' => $id, 'laboratoriosrango_id' => $rangos['Laboratoriosrango']['id'], 'rango' => $rango);
                        
                        $this->Laboratoriosresultado->save($data);
                    endif;
                } else {
                    $guarda = 0;
					
                    if ($dato['tipo'] == 2) {
					   //debug($dato);
                        if (!empty($dato['laboratoriosparametro_id']))
                            $guarda = 1;
                    }elseif ($dato['tipo'] == 1) {
                        if (!empty($dato['observaciones']))
                            $guarda = 1;
                    }
					//debug($guarda);

                    if ($guarda)
                        $this->Laboratoriosresultado->save($dato);
                }
                $i++;
            }
            
            $data = array('id' => $idexamen, 'estado' => 1);
            $this->Examenespaciente->save($data);
            
            $resultados = $this->Laboratoriosresultado->find('all', array(
                'conditions' => array(
                    'Laboratoriosresultado.consultasexterna_id' => $idconsulta,
                    'Laboratoriosresultado.subclaseslaboratorio_id' => $idsubclase
            )));
			//debug($resultados);exit;
            $this->Session->setFlash('Los resultados fueron modificados', 'bueno');
            
            $this->redirect(array('action' => 'vistaimpresion', $idconsulta, $idsubclase));
        } else {
            $this->request->data = $this->Laboratoriosresultado->find('all', array(
                'conditions' => array(
                    'Laboratoriosresultado.consultasexterna_id' => $idConsultaExterna,
                    'Laboratoriosresultado.subclaseslaboratorio_id' => $idsubclaselaboratorio
            )));
            //debug($this->request->data);exit;
            $ficha = $this->Consultasexterna->find('first', array(
                'conditions' => array('Consultasexterna.id' => $idConsultaExterna),
                'fields' => array('Consultasexterna.edad', 'Paciente.nombres', 'Paciente.ap_paterno', 'Paciente.ap_materno', 'Paciente.foto')));

            $laboratorios = $this->Laboratorio->find('all', array(
                'conditions' => array('Laboratorio.subclaseslaboratorio_id' => $idsubclaselaboratorio)));
            
            $nombre = $laboratorios[0]['Subclaseslaboratorio']['nombre'];

            $this->set(compact('ficha', 'laboratorios', 'idConsultaExterna', 'idsubclaselaboratorio', 'nombre', 'sexo', 'idexamen'));
        }
    }

    public function vistaimpresion($idconsulta = null, $idsubclase = null) {
       
        $resultados = $this->Laboratoriosresultado->find('all', array(
            'conditions' => array(
                'Laboratoriosresultado.consultasexterna_id' => $idconsulta,
                'Laboratoriosresultado.subclaseslaboratorio_id' => $idsubclase
        ),
            'order'=>array('Laboratoriosresultado.subclaseslaboratorio_id'=>'ASC',
                'Laboratoriosresultado.laboratorio_id'=>'ASC')
            ));
        //debug($resultados);exit;
        $edad = $resultados[0]['Consultasexterna']['edad'];
        $idpaciente = $resultados[0]['Consultasexterna']['paciente_id'];

        $ficha = $this->Paciente->find('first', array('conditions' => array('Paciente.id' => $idpaciente)));

        $nombresolicitud = $this->Subclaseslaboratorio->find('first', array('conditions' => array('Subclaseslaboratorio.id' => $resultados[0]['Laboratorio']['subclaseslaboratorio_id'])));
        $nombresolicitud = $nombresolicitud['Claseslaboratorio']['nombre'] . ' solicitud de ' . $nombresolicitud['Subclaseslaboratorio']['nombre'];

        $this->set(compact('resultados', 'ficha', 'edad', 'ficha', 'nombresolicitud', 'idconsulta'));
    }

    public function finalizarlaboratorios($idconsulta = null) {
        $data = array('id' => $idconsulta, 'estadoatencion' => 'R');
        $this->Consultasexterna->save($data);
        $this->Session->setFlash('los resultados fueron registrados y finalizados', 'bueno');
        $this->redirect(array('controller' => 'Consultasexternas', 'action' => 'mispacientes'));
    }

    public function registralaboratorio($idPaciente = null, $idConsultaExterna = null) {
        $this->layout = 'ajax';
        $laboratorios = $this->Laboratorio->find('all', array(
            'recursive' => 0));
        $clasesDeLaboratorios = $this->Claseslaboratorio->find('all', array(
            'recursive' => -1
        ));
        $this->set(compact('clasesDeLaboratorios', 'idPaciente', 'idConsultaExterna'));
        //-----aca inserto el nuevo codigo--------------
        //$this->layout='ajax';
        if (!empty($this->request->data)) {
            //unset($this->request->data['dato']);
            //debug($this->request->data);exit;
            $idPaciente = $this->request->data['Laboratoriospaciente']['paciente_id'];
            $idConsultaExterna = $this->request->data['Laboratoriospaciente']['consultasexterna_id'];
            $datos = $this->request->data['Examenespaciente'];
            //debug($datos);exit;
            $tipo = $this->Consultasexterna->find('first', array(
                'conditions'=>array('Consultasexterna.id'=>$idConsultaExterna),
                'fields'=>array('Consultasexterna.trauma_id')));
            
            $tipoConsulta = $tipo['Consultasexterna']['trauma_id'];
           
            foreach ($datos as $d) {
                $this->request->data = '';

                $this->request->data['Examenespaciente']['user_id'] = $this->Session->read("Auth.User.id");
                $this->request->data['Examenespaciente']['paciente_id'] = $idPaciente;
                $this->request->data['Examenespaciente']['consultasexterna_id'] = $idConsultaExterna;
                $this->request->data['Examenespaciente']['subclaseslaboratorio_id'] = $d['subclaseslaboratorio_id'];
                $this->Examenespaciente->create();

                if (!($this->Examenespaciente->save($this->request->data['Examenespaciente']))) {
                    $this->Session->setFlash('Error en el registro de solicitud de laboratorio, registre nuevamente la solicitud');
                    $this->Examenespaciente->deleteAll(array('Examenespaciente.consultasexterna_id' => $idConsultaExterna));
                    if($tipoConsulta == 22)
                        $this->redirect(array('controller'=>'Pacientes','action' => 'sololaboratorios', $idConsultaExterna, 'solicitalaboratorio'));
                    else
                        $this->redirect(array('controller' => 'Pacientes', 'action' => 'verestadopaciente', $idConsultaExterna, 'solicitalaboratorio'));
                }
            }
            $data = array('id' => $idConsultaExterna, 'estadoatencion' => 'L');
            $this->Consultasexterna->save($data);
            $this->Session->setFlash('Se enviaron las solicitudes de laboratorios', 'bueno');
            if($tipoConsulta == 22){
                
                $this->redirect(array('controller'=>'Pacientes','action' => 'sololaboratorios', $idConsultaExterna, 'solicitalaboratorio'));
            }else{
                $this->redirect(array('controller' => 'Pacientes', 'action' => 'verestadopaciente', $idConsultaExterna, 'solicitalaboratorio'));
            }
        }
        $idLaboratorio = $this->request->data['Laboratoriospaciente']['paciente_id'];
        $idPaciente = $this->request->data['Laboratoriospaciente']['subclaseslaboratorio_id'];

        $this->Laboratoriospaciente->create();
        if ($this->Laboratoriospaciente->save($this->data)) {
            $laboratorioDelPaciente = $this->Laboratoriospaciente->find('all', array(
                'recursive' => -1,
                'conditions' => array(
                    'Laboratoriospaciente.paciente_id' => $idLaboratorio,
                    'Laboratoriospaciente.subclaseslaboratorio_id' => $idPaciente
                )
            ));
            $laboratorios = $this->Laboratorio->find('all', array(
                'recursive' => 0));


            $clasesDeLaboratorios = $this->Claseslaboratorio->find('all', array(
                'recursive' => -1));
        }
        $examenesexternos = $this->Excomplementario->find('all', array('recursive' => -1));
        $this->set(compact('examenesexternos','laboratorioDelPaciente', 'laboratorios', 'clasesDeLaboratorios'));
    }

    public function buscaexamen($dato = null) {
        $this->layout = 'ajax';
        //debug($this->request->data);exit;

        $dato = '%' . $dato . '%';
        $referencia = $this->Subclaseslaboratorio->find('all', array(
            'conditions' => array('Subclaseslaboratorio.nombre LIKE' => $dato),
            'fields' => array('Subclaseslaboratorio.nombre',
                'Subclaseslaboratorio.posicion',
                'Subclaseslaboratorio.precio',
                'Claseslaboratorio.nombre'
            ),
            'recursive' => 1
        ));

        $numero = $this->Subclaseslaboratorio->find('count', array(
            'conditions' => array('Subclaseslaboratorio.nombre LIKE' => $dato)));

        $clasesDeLaboratorios = $this->Claseslaboratorio->find('all', array(
            'recursive' => -1
        ));

        $this->set(compact('numero', 'referencia'));
    }

    public function verestadopaciente($consultanro = null, $idtabindex = null) {
        $ficha = $this->Consultasexterna->find('first', array(
            'conditions' => array('Consultasexterna.id' => $consultanro)
        ));
        //debug($ficha);exit;
        if ($ficha['Consultasexterna']['medico_id'] == null) {
            $tipoUsuario = $this->Session->read('Auth.User.group_id');
            if ($tipoUsuario == 2) {
                $data = array('id' => $consultanro, 'medico_id' => $this->Session->read('Auth.User.id'), 'estadoatencion' => 'A');

                $this->Consultasexterna->save($data);
            }
            $idtabindex = "signos";
        }
        if ($idtabindex == null) {
            $idtabindex = "signos";
        }
        $edad = $ficha['Consultasexterna']['edad'];
        if ($tipoalerta == 'ROJO') {
            $color = '#d66';
        } elseif ($alerta == 3) {
            $color = '#ffffaa';
        } elseif ($alerta == 4) {
            $color = '#00ff00';
        } else {
            $color = '#fff';
        }
        $laboratoriossolicitados = $this->Examenespaciente->find('all', array(
            'conditions' => array(
                'Examenespaciente.consultasexterna_id' => $consultanro),
            'fields' => array(
                'Subclaseslaboratorio.id',
                'Subclaseslaboratorio.tipo',
                'Subclaseslaboratorio.nombre',
                'User.apellido_materno', 'User.apellido_paterno', 'User.nombre', 'Examenespaciente.id',
                'Examenespaciente.consultasexterna_id', 'Examenespaciente.estado', 'Examenespaciente.created')
        ));

        $this->set(compact('idtabindex', 'consultanro', 'ficha', 'historial', 'historialalergias', 'edad', 'medidas', 'conceptos', 'tipoalerta', 'color', 'listademedidas', 'examenesexternos', 'laboratoriossolicitados', 'examenespaciente', 'cie10Paciente', 'receta'));
    }

    public function imprimeresultados($idconsulta = null) {
        $resultados = $this->Laboratoriosresultado->find('all', array(
            'conditions' => array(
                'Laboratoriosresultado.consultasexterna_id' => $idconsulta,
                'Laboratoriosresultado.subclaseslaboratorio_id !='=>44),
            'order'=>array('Laboratoriosresultado.subclaseslaboratorio_id'=>'ASC',
                'Laboratoriosresultado.laboratorio_id'=>'ASC')
            ));
        //debug($resultados);exit;
		$esorina = 0;
        if(empty($resultados)){
            $resultados = $this->Laboratoriosresultado->find('all', array(
            'conditions' => array(
                'Laboratoriosresultado.consultasexterna_id' => $idconsulta
                
        )));
		$esorina =1;
        }
	$esorina = 0;
        if(empty($resultados)){
$idpaciente = $resultados[0]['Consultasexterna']['paciente_id'];
	
        $ficha = $this->Consultasexterna->find('first', array('conditions' => array('Consultasexterna.id' => $idconsulta)));
       
//            $resultados = $this->Laboratoriosresultado->find('all', array(
//            'conditions' => array(
//                'Laboratoriosresultado.consultasexterna_id' => $idconsulta
//                
//            )));
		$esorina =1;
        
                //debug($resultados);exit;
$medico = $this->User->find('first', array(
            'conditions'=>array('User.id'=>$ficha['Consultasexterna']['medico_id']),
            'recursive'=>-1));
        
        $edad = $ficha['Consultasexterna']['edad'];
        
        }else{
	$idpaciente = $resultados[0]['Consultasexterna']['paciente_id'];
	
        $ficha = $this->Paciente->find('first', array('conditions' => array('Paciente.id' => $idpaciente)));
        $medico = $this->User->find('first', array(
            'conditions'=>array('User.id'=>$resultados[0]['Consultasexterna']['medico_id']),
            'recursive'=>-1));
        
        $edad = $resultados[0]['Consultasexterna']['edad'];
        
}
       // die;
        
        
        $nombresolicitud = $this->Claseslaboratorio->find('first', array('conditions' => array('Claseslaboratorio.id' => $resultados[0]['Subclaseslaboratorio']['claseslaboratorio_id'])));
                                             
        $nombresolicitud = $nombresolicitud['Claseslaboratorio']['nombre'];
       
        $dato = $resultados[0]['Laboratorio']['descripcion'];
		
        $this->set(compact('esorina','resultados', 'ficha', 'edad', 'ficha', 'nombresolicitud', 'tipomuetra', 'dato','idconsulta', 'medico'));
    }
    public function imprimesolicitud($idconsulta=null, $vista = null){
        
        if($vista != NULL){
            $this->layout = 'ajax';
        }
        $laboratoriossolicitados = $this->Examenespaciente->find('all', array(
            'conditions' => array(
                'Examenespaciente.consultasexterna_id' => $idconsulta),
            'fields' => array(
                'Subclaseslaboratorio.id','Subclaseslaboratorio.tipo','Subclaseslaboratorio.nombre',
                'Subclaseslaboratorio.descripcion','Subclaseslaboratorio.precio',
                'Paciente.id',
                'User.apellido_materno', 'User.apellido_paterno', 'User.nombre', 'Examenespaciente.id',
                'Examenespaciente.consultasexterna_id', 'Examenespaciente.estado', 'Examenespaciente.created',
                'Consultasexterna.medico_id', 'Consultasexterna.edad',
                
                )
        ));
        $paciente = $this->Paciente->find('first', array(
            'conditions'=>array('Paciente.id'=>$laboratoriossolicitados[0]['Paciente']['id']),
//            'fields'=>array(
//                'Paciente.nombres', 'Paciente.ap_paterno', 'Paciente.ap_materno',
//                 'Paciente.sexo', 'Paciente.Pais', 'Paciente.ciudad', 'Paciente.lugar')
            ));
        //debug($paciente);exit;
        $medico = $this->User->find('first', array(
            'conditions'=>array('User.id'=>$laboratoriossolicitados[0]['Consultasexterna']['medico_id']),
            'recursive'=>-1
            ));
        $medico = $medico['User']['nombre'].' '.$medico['User']['apellido_paterno'];
        $this->set(compact('laboratoriossolicitados', 'medico', 'paciente', 'idconsulta', 'vista'));
        //debug($laboratoriossolicitados);exit;
    }
    public function imprimiosolicitud($idconsulta =null){
        $data = array('id'=>$idconsulta, 'estadoatencion'=>'M');
        $this->Consultasexterna->save($data);
        
        $this->redirect(array('controller'=>'Consultasexternas', 'action'=>'listadopacientes'));
        
    }
    public function eliminar($idexamen=null, $idconsulta=null){
        if($this->Examenespaciente->delete($idexamen)){
            $this->Session->setFlash('Se elimino el laboratorio solicitado');
            $this->redirect(array('action'=>'verestadopaciente', $idconsulta,'laboratorios'));
        }
        
    }

}
